Page({
  data: {
    userInfo: {},
    taskStats: {
      assigned: 0,
      completed: 0,
      pending: 0
    },
    showEditModal: false,
    editUserInfo: {
      nickname: '',
      email: '',
      phone: ''
    }
  },

  onLoad() {
    this.loadUserInfo()
    this.loadTaskStats()
  },

  loadUserInfo() {
    const userInfo = wx.getStorageSync('userInfo') || {}
    this.setData({
      userInfo: userInfo,
      editUserInfo: {
        nickname: userInfo.nickname || '',
        email: userInfo.email || '',
        phone: userInfo.phone || ''
      }
    })
  },

  loadTaskStats() {
    // 模拟任务统计数据
    this.setData({
      taskStats: {
        assigned: 12,
        completed: 8,
        pending: 4
      }
    })
  },

  onEditProfile() {
    this.setData({
      showEditModal: true
    })
  },
  
  onCloseEditModal() {
    this.setData({
      showEditModal: false
    })
  },
  
  onNicknameInput(e) {
    this.setData({
      'editUserInfo.nickname': e.detail.value
    })
  },
  
  onEmailInput(e) {
    this.setData({
      'editUserInfo.email': e.detail.value
    })
  },
  
  onPhoneInput(e) {
    this.setData({
      'editUserInfo.phone': e.detail.value
    })
  },
  
  onSaveProfile() {
    if (!this.data.editUserInfo.nickname) {
      wx.showToast({
        title: '请输入昵称',
        icon: 'none'
      })
      return
    }
    
    const userInfo = wx.getStorageSync('userInfo') || {}
    const userId = userInfo.id
    
    if (!userId) {
      wx.showToast({
        title: '用户信息错误',
        icon: 'none'
      })
      return
    }
    
    // 调用更新用户信息接口
    post(apiPaths.updateUserInfo, {
      id: userId,
      nickname: this.data.editUserInfo.nickname,
      email: this.data.editUserInfo.email,
      phone: this.data.editUserInfo.phone
    }).then(res => {
      if (res.code === 200) {
        wx.showToast({
          title: '资料更新成功',
          icon: 'success'
        })
        
        this.setData({
          showEditModal: false
        })
        
        // 更新本地存储的用户信息
        const updatedUserInfo = {
          ...userInfo,
          nickname: this.data.editUserInfo.nickname,
          email: this.data.editUserInfo.email,
          phone: this.data.editUserInfo.phone
        }
        wx.setStorageSync('userInfo', updatedUserInfo)
        
        // 重新加载用户信息
        this.loadUserInfo()
      } else {
        wx.showToast({
          title: res.message || '资料更新失败',
          icon: 'none'
        })
      }
    }).catch(err => {
      wx.showToast({
        title: err.message || '资料更新失败',
        icon: 'none'
      })
    })
  },

  onChangePassword() {
    wx.showToast({
      title: '修改密码功能开发中',
      icon: 'none'
    })
  },

  // 添加我的任务点击事件
  onMyTasks() {
    wx.navigateTo({
      url: '/pages/tasks/tasks'
    })
  },

  // 添加我的项目点击事件
  onMyProjects() {
    wx.navigateTo({
      url: '/pages/projects/projects'
    })
  },

  // 添加团队管理点击事件
  onTeamManagement() {
    wx.navigateTo({
      url: '/pages/team/team'
    })
  },

  // 添加系统设置点击事件
  onSettings() {
    wx.showToast({
      title: '系统设置功能开发中',
      icon: 'none'
    })
  },

  // 添加帮助中心点击事件
  onHelp() {
    wx.showToast({
      title: '帮助中心功能开发中',
      icon: 'none'
    })
  },

  // 添加意见反馈点击事件
  onFeedback() {
    wx.showToast({
      title: '意见反馈功能开发中',
      icon: 'none'
    })
  },

  onLogout() {
    wx.showModal({
      title: '确认退出',
      content: '确定要退出登录吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除登录信息
          wx.clearStorageSync()
          
          // 跳转到登录页
          wx.redirectTo({
            url: '/pages/login/login'
          })
        }
      }
    })
  }
})